package com.it.service;

import com.it.domain.Goods;
import com.it.domain.Goods_Details;

import java.util.List;

public interface GoodsService {

    /**
     * 新增货物
     * @param goods
     */
    void saveGoods(Goods goods);

    /**
     * 新增货物内容
     * @param goods_details
     */
    void saveGoods_Details(Goods_Details goods_details);

    /**
     * 查询所有货物
     * @return
     */
    List<Goods> findAllGoods(int page,int size);

    /**
     * 根据名称模糊查询货物
     * @param name
     * @return
     */
    List<Goods> FindByName(String name,int page,int size);

    /**
     * 根据id修改信息
     * @param goods
     */
    void changeGoods(Goods goods);

    /**
     * 根据id查询goods表
     * @param id
     * @return
     */
    List<Goods> FindById(int id);

    /**
     * 根据名称查询goodsdetails表
     * @param name
     * @return
     */
    List<Goods_Details> FindByNameGD(String name);

    /**
     * 根据名称修改goodsdetails表
     * @param goods_details
     * @param
     */
    void ChangeGDName(Goods_Details goods_details/*,int id_d*/);

    /**
     * 根据id删除goods
     * @param id
     */
    void delGoods(int id);

    /**
     * 根据id删除goodsdetails所有相关信息
     * @param id_d
     */
    void delGoodsDetails(int id_d);

    /**
     * 根据details删除goodsdetails所有相关信息
     * @param details
     */
    void delGoodsDetailsBydetails(String details);


    /**
     * 根据名称查询所有details
     * @param name
     * @return
     */
    List<Goods_Details> SelectGoodsDetails(String name,int page,int size);

    /**
     * 根据details修改goods details信息
     * @param goods_details
     */
    void ChangeDetails(Goods_Details goods_details);


    /**
     * 根据details改变数量
     * @param goods_details
     * @param
     */
    void IoDGoodsDetails (Goods_Details goods_details);

    /**
     * 根据details查询数量
     * @param details
     * @return
     */
    int selectQuantity(String details);

    /**
     * 根据details模糊查询
     * @param details
     * @return
     */
    List<Goods_Details> FindBydetails(String details,int page,int size);

    /**
     * 查询所有details
     * @return
     */
    List<Goods_Details> FindAlldetails(int page,int size);

    /**
     * 按类型查询goods
     * @return
     */
    List<Goods> FindSomeGoods(String Product_Types,int page,int size);

    /**
     * 根据details查询goodsdetails
     * @param details
     * @return
     */
    List<Goods_Details> FindGoodsByDetails(String details);

}
